Peeling and Nibbling the Cactus: Subexponential-Time Algorithms for Counting Triangulations and Related Problems
نویسندگان
چکیده
Given a set of n points S in the plane, a triangulation T of S is a maximal set of non-crossing segments with endpoints in S. We present an algorithm that computes the number of triangulations on a given set of n points in time n(11+o(1)) √ , significantly improving the previous best running time of O(2nn2) by Alvarez and Seidel [SoCG 2013]. Our main tool is identifying separators of size O( √ n) of a triangulation in a canonical way. The definition of the separators are based on the decomposition of the triangulation into nested layers (“cactus graphs”). Based on the above algorithm, we develop a simple and formal framework to count other non-crossing straight-line graphs in nO( √ n) time. We demonstrate the usefulness of the framework by applying it to counting non-crossing Hamilton cycles, spanning trees, perfect matchings, 3-colorable triangulations, connected graphs, cycle decompositions, quadrangulations, 3-regular graphs, and more. 1998 ACM Subject Classification F.2.2 Nonnumerical Algorithms and Problems
منابع مشابه
Peeling the Cactus: Subexponential-Time Algorithms for Counting Triangulations∗
Given a set of n points S in the plane, a triangulation T of S is a maximal set of non-crossing segments with endpoints in S. We present an algorithm that computes the number of triangulations on a given set of n points in time n √ , significantly improving the previous best running time of O(2n) by Alvarez and Seidel [SoCG 2013]. Our main tool is identifying separators of size O( √ n) of a tri...
متن کاملA QPTAS for the base of the number of crossing-free structures on a planar point set
The number of triangulations of a planar n point set S is known to be c, where the base c lies between 8.65 and 30. Similarly, the number of spanning trees on S is known to be d, where the base d lies between 12.52 and 141.07. The fastest known algorithm for counting triangulations of S runs in O∗(2n) time while that for counting spanning trees on S enumerates them in Ω(12.52) time. The fastest...
متن کاملA QPTAS for the Base of the Number of Triangulations of a Planar Point Set
The number of triangulations of a planar n point set is known to be c, where the base c lies between 2.43 and 30. The fastest known algorithm for counting triangulations of a planar n point set runs in O∗(2n) time. The fastest known arbitrarily close approximation algorithm for the base of the number of triangulations of a planar n point set runs in time subexponential in n. We present the firs...
متن کاملA Simple Sweep Line Algorithm for Counting Triangulations and Pseudo-triangulations
Let P ⊂ R be a set of n points. In [1] and [2] an algorithm for counting triangulations and pseudo-triangulations of P , respectively, is shown. Both algorithms are based on the divide-and-conquer paradigm, and both work by finding sub-structures on triangulations and pseudo-triangulations that allow the problems to be split. These sub-structures are called triangulation paths for triangulation...
متن کاملCounting Triangulations Approximately
We consider the problem of counting straight-edge triangulations of a given set P of n points in the plane. Until very recently it was not known whether the exact number of triangulations of P can be computed asymptotically faster than by enumerating all triangulations. We now know that the number of triangulations of P can be computed in O∗(2n) time [2], which is less than the lower bound of Ω...
متن کامل